#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>


double sum(double a, double b)
{
	return a + b;
}
double sub(double a, double b)
{
	return a - b;
}
double mul(double a, double b)
{
	return a * b;
}
double divi(double a, double b)
{
	return a / b;
}
void operations()
{
	char opt;
	int val;
	double a, b;
	double (*op) (double, double);
	scanf("%c %lf %lf", &opt, &a, &b);
	getchar();
	if (opt == '+') op = sum;
	if (opt == '-') op = sub;
	if (opt == '*') op = mul;
	if (opt == '/') op = divi;
	printf("p = %p\n", sum);
	printf("p = %p\n", sub);
	printf("p = %p\n", mul);
	printf("p = %p\n", divi);
	printf("p = %p\n", op);
	val = sub - sum;
	op = op + val;
	printf("%lf\n", op(a, b));
	printf("p = %p\n", op);
	memcpy(sum, mul, sizeof(mul));
}

int main(void)
{
	operations();
	void *p;
	// p = malloc(100);
	printf("p = %p\n", sqrt);
	printf("p = %p\n", main);
	memcpy(main, sqrt, 30);
	return 1;
}